diff --git src/CMakeLists.txt src/CMakeLists.txt
index 68d0a4fe6..958918ef1 100644
--- src/CMakeLists.txt
+++ src/CMakeLists.txt
@@ -50,13 +50,8 @@ include(cmake/ccache.cmake)
 ##############################################################################
 # VPP Version
 ##############################################################################
-execute_process(
-  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-  COMMAND scripts/version
-  OUTPUT_VARIABLE VPP_VERSION
-  OUTPUT_STRIP_TRAILING_WHITESPACE
-)

+set(VPP_VERSION 24.03-dev)
 if (VPP_PLATFORM)
   set(VPP_VERSION ${VPP_VERSION}-${VPP_PLATFORM_NAME})
 endif()
@@ -277,8 +272,7 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD")
   find_package(OpenSSL)
   set(SUBDIRS
     vppinfra svm vlib vlibmemory vlibapi vnet vpp vat vat2 vcl vpp-api
-    plugins tools/vppapigen tools/g2 tools/perftool cmake pkg
-    tools/appimage
+    tools/vppapigen cmake pkg
   )
 elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
   set(SUBDIRS vppinfra)
diff --git src/cmake/ccache.cmake src/cmake/ccache.cmake
index a7b395bc6..d6a4c5b30 100644
--- src/cmake/ccache.cmake
+++ src/cmake/ccache.cmake
@@ -14,7 +14,7 @@
 ##############################################################################
 # ccache
 ##############################################################################
-option(VPP_USE_CCACHE "Use ccache compiler cache." ON)
+option(VPP_USE_CCACHE "Use ccache compiler cache." OFF)
 if(VPP_USE_CCACHE)
   find_program(CCACHE_FOUND ccache)
   message(STATUS "Looking for ccache")
diff --git src/cmake/library.cmake src/cmake/library.cmake
index 45b3944eb..b1dcc56e1 100644
--- src/cmake/library.cmake
+++ src/cmake/library.cmake
@@ -24,7 +24,7 @@ macro(add_vpp_library lib)
   set_target_properties(${lo} PROPERTIES POSITION_INDEPENDENT_CODE ON)
   target_compile_options(${lo} PUBLIC ${VPP_DEFAULT_MARCH_FLAGS})

-  add_library(${lib} SHARED)
+  add_library(${lib} STATIC)
   target_sources(${lib} PRIVATE $<TARGET_OBJECTS:${lo}>)

   if(VPP_LIB_VERSION)
diff --git src/tools/vppapigen/CMakeLists.txt src/tools/vppapigen/CMakeLists.txt
index 04ebed548..bfabc3a67 100644
--- src/tools/vppapigen/CMakeLists.txt
+++ src/tools/vppapigen/CMakeLists.txt
@@ -11,22 +11,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

-find_package(
-  Python3
-  REQUIRED
-  COMPONENTS Interpreter
-)
-
-execute_process(
-  COMMAND ${Python3_EXECUTABLE} -c "import ply"
-  RESULT_VARIABLE _rv
-  OUTPUT_QUIET
-)
-
-if (NOT ${_rv} EQUAL 0)
-  message( FATAL_ERROR "The \"ply\" Python3 package is not installed.")
-endif()
-
 install(
   FILES vppapigen.py
   RENAME vppapigen
diff --git src/tools/vppapigen/vppapigen.py src/tools/vppapigen/vppapigen.py
index 2b0ce9999..f28a17302 100755
--- src/tools/vppapigen/vppapigen.py
+++ src/tools/vppapigen/vppapigen.py
@@ -7,6 +7,13 @@ import logging
 import binascii
 import os
 from subprocess import Popen, PIPE
+
+# Put ply on the path ...
+plypath = os.path.join(
+    os.environ["EXT_BUILD_ROOT"],
+    os.path.dirname(os.environ["PLYPATHS"].split()[0]))
+sys.path += [plypath]
+
 import ply.lex as lex
 import ply.yacc as yacc

diff --git src/vcl/CMakeLists.txt src/vcl/CMakeLists.txt
index 610b422d1..c5e6f8ca8 100644
--- src/vcl/CMakeLists.txt
+++ src/vcl/CMakeLists.txt
@@ -35,6 +35,8 @@ if (LDP_HAS_GNU_SOURCE)
   add_compile_definitions(HAVE_GNU_SOURCE)
 endif(LDP_HAS_GNU_SOURCE)

+file(COPY vppcom.h DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
+
 add_vpp_library(vcl_ldpreload
   SOURCES
   ldp_socket_wrapper.c
